F.A. Cup
Originally Spectrum version by G.L. Maynard
in ZX Computing, April/May 1983
QL conversion by J.R. Waterman, 21 - 26 October 2020
===========================================================

For the original:
https://spectrumcomputing.co.uk/entry/25774/ZX-Spectrum/FA_Cup
For my Spectrum modification:
www.rickdangerous.co.uk/zx/typeinsplus.html#facup

This was an original type-in from a magazine that I had a hard copy of when I was much younger, typed in some time around 1991, and then modified extensively when I was in my mid-20s with some better sounds, a less eye-gouging colour scheme, and a machine code 42-character print routine (not my own work, that bit...!) to extend the length of the team names from 14 characters to 18.

Even so, that wasn't really enough, and a lot of teams still had to be shown with abbreviated names. But once I'd started programming on the QL during the dark days of Coronatarianism in 2020, this machine looked ideal to take on the job - seeing as it's capable of displaying 85 characters per line.

The conversion didn't take too long once I'd worked out how to handle translating the Spectrum BASIC into the QL's procedure-based SuperBASIC, and what held up the project more than anything was that the final qualifying round for the real-life 2020-21 F.A. Cup was still a few days away, and I had to wait for the final result to come in, as Bishop's Stortford played St. Albans City for the final place in the first round proper... and by that time, the program was otherwise complete.

The program was tested initially with an array holding the teams that competed in the 1982-83 F.A. Cup, the current season when this program's original version was published. It was the year that Brighton & Hove Albion were so near, and yet so far, against Manchester United. "And Smith must score... and he hasn't!" Brighton lost the final, and were relegated as well. How many times this program needs to be run to achieve the same result, I will never know...

One addition to this version over the Spectrum original *and* my modified version is the theme tune - "Back Home", a.k.a. the England 1970 World Cup squad's official song, revived in the mid-1990s by Frank Skinner and David baddiel for Fantasy Football League. This is a sort of Fantasy Football Cup, so I thought it was appropriate. It is beeped out at a lower pitch than expected just so the notes aren't even more off-key than they already are - but that's the QL's horribly compromised BEEP command for you, one aspect that was a major step backwards from the Spectrum. It could make weird whirring noises easily enough, but high quality music was a step too far.

Here are the teams, according to their classes. In the game, the top division is divided into two classes, and I've assigned them according to their finishing positions in the previous season. Non-league teams are all class 6, even if in the 2020-21 season, "non-league" spans five levels.


1982-83                                 2020-21
=======                                 =======

Class 1 (Division One top 11)           Class 1 (Premiership top 10)
-----------------------------           ----------------------------
ARSENAL                                 ARSENAL
ASTON VILLA                             BURNLEY
EVERTON                                 CHELSEA
IPSWICH TOWN                            LEICESTER CITY
LIVERPOOL                               LIVERPOOL
MANCHESTER CITY                         MANCHESTER CITY
MANCHESTER UNITED                       MANCHESTER UNITED
SOUTHAMPTON                             SHEFFIELD UNITED
SWANSEA CITY                            TOTTENHAM HOTSPUR
TOTTENHAM HOTSPUR                       WOLVERHAMPTON WANDERERS
WEST HAM UNITED

Class 2 (Division One bottom 11)        Class 2 (Premiership bottom 10)
--------------------------------        -------------------------------
BIRMINGHAM CITY                         ASTON VILLA
BRIGHTON & HOVE ALBION                  BRIGHTON & HOVE ALBION
COVENTRY CITY                           CRYSTAL PALACE
LUTON TOWN                              EVERTON
NORWICH CITY                            FULHAM
NOTTINGHAM FOREST                       LEEDS UNITED
NOTTS COUNTY                            NEWCASTLE UNITED
STOKE CITY                              SOUTHAMPTON
SUNDERLAND                              WEST BROMWICH ALBION
WATFORD                                 WEST HAM UNITED
WEST BROMWICH ALBION

Class 3 (Division Two)                  Class 3 (Championship)
----------------------                  ----------------------
BARNSLEY                                BARNSLEY
BLACKBURN ROVERS                        BIRMINGHAM CITY
BOLTON WANDERERS                        BLACKBURN ROVERS
BURNLEY                                 BOURNEMOUTH
CAMBRIDGE UNITED                        BRENTFORD
CARLISLE UNITED                         BRISTOL CITY
CHARLTON ATHLETIC                       CARDIFF CITY
CHELSEA                                 COVENTRY CITY
CRYSTAL PALACE                          DERBY COUNTY
DERBY COUNTY                            HUDDERSFIELD TOWN
FULHAM                                  LUTON TOWN
GRIMSBY TOWN                            MIDDLESBROUGH
LEEDS UNITED                            MILLWALL
LEICESTER CITY                          NORWICH CITY
MIDDLESBROUGH                           NOTTINGHAM FOREST
NEWCASTLE UNITED                        PRESTON NORTH END
OLDHAM ATHLETIC                         QUEENS PARK RANGERS
QUEENS PARK RANGERS                     READING
ROTHERHAM UNITED                        ROTHERHAM UNITED
SHEFFIELD WEDNESDAY                     SHEFFIELD WEDNESDAY
SHREWSBURY TOWN                         STOKE CITY
WOLVERHAMPTON WANDERERS                 SWANSEA CITY
                                        WATFORD
                                        WYCOMBE WANDERERS

Class 4 (Division Three)                Class 4 (League One)
------------------------                --------------------
BOURNEMOUTH                             ACCRINGTON STANLEY
BRADFORD CITY                           A.F.C. WIMBLEDON
BRENTFORD                               BLACKPOOL
BRISTOL ROVERS                          BRISTOL ROVERS
CARDIFF CITY                            BURTON ALBION
CHESTERFIELD                            CHARLTON ATHLETIC
DONCASTER ROVERS                        CREWE ALEXANDRA
EXETER CITY                             DONCASTER ROVERS
GILLINGHAM                              FLEETWOOD TOWN
HUDDERSFIELD TOWN                       GILLINGHAM
LINCOLN CITY                            HULL CITY
MILLWALL                                IPSWICH TOWN
NEWPORT COUNTY                          LINCOLN CITY
ORIENT                                  MILTON KEYNES DONS
OXFORD UNITED                           NORTHAMPTON TOWN
PLYMOUTH ARGYLE                         OXFORD UNITED
PORTSMOUTH                              PETERBOROUGH UNITED
PRESTON NORTH END                       PLYMOUTH ARGYLE
READING                                 PORTSMOUTH
SHEFFIELD UNITED                        ROCHDALE
SOUTHEND UNITED                         SHREWSBURY TOWN
WALSALL                                 SUNDERLAND
WIGAN ATHLETIC                          SWINDON TOWN
WREXHAM                                 WIGAN ATHLETIC

Class 5 (Division Four)                 Class 5 (League Two)
-----------------------                 --------------------
ALDERSHOT                               BARROW
BLACKPOOL                               BOLTON WANDERERS
BRISTOL CITY                            BRADFORD CITY
BURY                                    CAMBRIDGE UNITED
CHESTER CITY                            CARLISLE UNITED
COLCHESTER UNITED                       CHELTENHAM TOWN
CREWE ALEXANDRA                         COLCHESTER UNITED
DARLINGTON                              CRAWLEY TOWN
HALIFAX TOWN                            EXETER CITY
HARTLEPOOL UNITED                       FOREST GREEN ROVERS
HEREFORD UNITED                         GRIMSBY TOWN
HULL CITY                               HARROGATE TOWN
MANSFIELD TOWN                          LEYTON ORIENT
NORTHAMPTON TOWN                        MANSFIELD TOWN
PETERBOROUGH UNITED                     MORECAMBE
PORT VALE                               NEWPORT COUNTY
ROCHDALE                                OLDHAM ATHLETIC
SCUNTHORPE UNITED                       PORT VALE
STOCKPORT COUNTY                        SALFORD CITY
SWINDON TOWN                            SCUNTHORPE UNITED
TORQUAY UNITED                          SOUTHEND UNITED
TRANMERE ROVERS                         STEVENAGE
WIMBLEDON                               TRANMERE ROVERS
YORK CITY                               WALSALL

Class 6                                 Class 6
-------                                 -------
Alliance Premier League (L.5):          National League (L.5):
ALTRINCHAM                              BARNET
BARNET                                  BOREHAM WOOD
BOSTON UNITED                           BROMLEY
DAGENHAM                                CHESTERFIELD
ENFIELD                                 DAGENHAM & REDBRIDGE
KETTERING TOWN                          EASTLEIGH
MAIDSTONE UNITED                        HARTLEPOOL UNITED
NORTHWICH VICTORIA                      KING'S LYNN TOWN
SCARBOROUGH                             SOLIHULL MOORS
TELFORD UNITED                          TORQUAY UNITED
WEALDSTONE                              WOKING
WEYMOUTH                                YEOVIL TOWN
WORCESTER CITY                          National League North (L.6):
YEOVIL TOWN                             A.F.C. FYLDE
Northern Premier League (L.6):          BRACKLEY TOWN
MOSSLEY                                 CHORLEY
MACCLESFIELD TOWN                       DARLINGTON
WORKINGTON                              National League South (L.6):
Isthmian League                         CONCORD RANGERS
Premier Division (L.6):                 EASTBOURNE BOROUGH
BISHOP'S STORTFORD                      HAMPTON & RICHMOND BOROUGH
CARSHALTON ATHLETIC                     HAVANT & WATERLOOVILLE
SLOUGH TOWN                             OXFORD CITY
WOKINGHAM TOWN                          TONBRIDGE ANGELS
WYCOMBE WANDERERS                       Northern Premier League
Southern League                         Premier Division (L.7):
Premier Division (L.6):                 F.C. UNITED OF MANCHESTER
DARTFORD                                SOUTH SHIELDS
North West Counties Football League     Isthmian League
Division One (L.7):                     Premier Division (L.7):
HORWICH R.M.I.                          BISHOP'S STORTFORD
Northern Football League                Southern Football League
Division One (L.7):                     Premier Division Central (L.7):
NORTH SHIELDS                           BANBURY UNITED
Northern Counties East Football League  Southern Football League
Premier Division (L.7):                 Premier Division South (L.7):
SHEPSHED CHARTERHOUSE                   HAYES & YEADING UNITED
Isthmian League Division One (L.7):     Northern Premier League
CHESHAM UNITED                          Division One North West (L.8):
WORTHING                                MARINE
Southern League                         Isthmian League
Southern Division (L.7):                North Division (L.8):
FOLKESTONE                              CANVEY ISLAND
United Counties League                  MALDON & TIPTREE
Premier Division (L.8):                 Isthmian League
HOLBEACH UNITED                         South East Division (L.8):
Isthmian League Division Two (L.8):     CRAY VALLEY PAPER MILLS
WINDSOR & ETON                          North West Counties Football League
Western Football League                 Premier Division (L.9):
First Division (L.9):                   SKELMERSDALE UNITED
WIMBORNE TOWN                



















